package com.hong.poi;

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.util.IOUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * @Auther: csh
 * @Date: 2019/12/11 16:59
 * @Description:使用POI创建excel 插入图片
 */
public class PoiTest04 {

    public static void main(String[] args) throws IOException {
        //创建工作簿
        Workbook wb = new XSSFWorkbook();
        //创建表单sheet
        Sheet sheet = wb.createSheet("test");

        //读取图片数据流
        FileInputStream stream = new FileInputStream("D:\\BaiduNetdiskDownload\\008、【店主推荐】springboot2+Vue+shiro云管理系统项目实战\\资料源码文档\\3-8 员工管理及POI\\POI入门\\资源\\Excel相关\\logo.jpg");
        //转化二进制
        byte[] bytes = IOUtils.toByteArray(stream);
        stream.read(bytes);
        //向POI内存中添加一张图片，返回图片在图片集合索引
        //参数一：图片的二进制数据，参数二：图片类型
        int index = wb.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG);
        //绘制图片工具类
        CreationHelper helper = wb.getCreationHelper();
        //创建一个绘图对象
        Drawing <?> patriarch = sheet.createDrawingPatriarch();
        //创建锚点，设置图片坐标
        ClientAnchor anchor = helper.createClientAnchor();
        anchor.setRow1(0);
        anchor.setCol1(0);
        //绘制图片  图片位置，图片索引
        Picture picture = patriarch.createPicture(anchor, index);
        //自适应渲染图片
        picture.resize();

        //文件流
        FileOutputStream pis = new FileOutputStream("D:\\BaiduNetdiskDownload\\008、【店主推荐】springboot2+Vue+shiro云管理系统项目实战\\资料源码文档\\3-8 员工管理及POI\\POI入门\\资源\\Excel相关\\test4.xlsx");
        //写入文件
        wb.write(pis);
        pis.close();
    }
}
